<?php
class MedicamentoController extends Zend_Controller_Action {
	public function init(){
		$this->initView();
		$this->view->title = 'Cadastro de Medicamentos';
		$this->view->baseUrl = $this->_request->getBaseUrl();
		$menu = '<ul>
				<li class="slogan"></li>
				<li><a href="'.$this->view->baseUrl.'/user" accesskey="p">Users</li>
				<li><a href="'.$this->view->baseUrl.'/paciente" accesskey="p">Pacientes</li>
				<li class="active">Medicamentos</li>
				<li><a href="'.$this->view->baseUrl.'/os" accesskey="o">OS</a></li>
				<li><a href="'.$this->view->baseUrl.'/carrinho" accesskey="m">Carrinho</a></li>
				<li><a href="'.$this->view->baseUrl.'/entrada" accesskey="m">Entradas/Estoque</a></li>
				</ul>';
		$this->view->menu = $menu;
		Zend_Loader::loadClass('Medicamento');  // Carrega o model
		$this->view->medicamento = Zend_Auth::getInstance()->getIdentity();
	}
	public function indexAction(){
		$medicamentos = new Medicamento();
		$this->view->medicamentos = $medicamentos->fetchAll($medicamentos->select()->order("id"));
		$this->render();
	}
	public function adicionarAction(){
		if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$filter = new Zend_Filter_StripTags();
			$id = $filter->filter($this->_request->getPost('id'));
			$descricao = $filter->filter($this->_request->getPost('descricao'));
			$apresentacao_concentracao = $filter->filter($this->_request->getPost('apresentacao_concentracao'));
			$medicamento = $filter->filter($this->_request->getPost('medicamento'));
			$validade = $filter->filter($this->_request->getPost('validade'));
			$lote = $filter->filter($this->_request->getPost('lote'));
			$quantidade = $filter->filter($this->_request->getPost('quantidade'));
			$valor = $filter->filter($this->_request->getPost('valor'));
			if ($id != '' && $descricao != '') {
				$data = array(
					'id' => $id,
					'descricao' => $descricao,
					'apresentacao_concentracao' => $apresentacao_concentracao,
					'medicamento' => $medicamento,
					'validade' => $validade,
					'lote' => $lote,
					'quantidade' => $quantidade,
					'valor' => $valor
				);
				$medicamentos = new Medicamento();
				$medicamentos->insert($data);
				$this->_redirect('/medicamento');
				return;
			}
		}
		$medicamentos = new Medicamento();
		$idNew = $medicamentos->getNextId();
		
		$this->view->medicamentos = new stdClass();
		$this->view->medicamentos->id = $idNew;
		$this->view->medicamentos->descricao = '';
		$this->view->medicamentos->apresentacao_concentracao = '';
		$this->view->medicamentos->medicamento = '';
		$this->view->medicamentos->validade = '';
		$this->view->medicamentos->lote = '';
		$this->view->medicamentos->quantidade = '';
		$this->view->medicamentos->valor = '';

		
		$this->view->action = 'adicionar';
		$this->view->buttonText = 'Adicionar';
		$this->render();
	}
	public function editarAction()	{
		$this->view->title = "Editar Medicamento";
		$medicamentos = new Medicamento();
		if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$filter = new Zend_Filter_StripTags();
			$id = $filter->filter($this->_request->getPost('id'));
			$descricao = $filter->filter($this->_request->getPost('descricao'));
			$apresentacao_concentracao = $filter->filter($this->_request->getPost('apresentacao_concentracao'));
			$medicamento = $filter->filter($this->_request->getPost('medicamento'));
			$validade = $filter->filter($this->_request->getPost('validade'));
			$lote = $filter->filter($this->_request->getPost('lote'));
			$quantidade = $filter->filter($this->_request->getPost('quantidade'));
			$valor = $filter->filter($this->_request->getPost('valor'));
			if ($id !== false) {
				if ($id != '' && $descricao != '') {
					$data = array(
						'id' => $id,
						'apresentacao_concentracao' => $apresentacao_concentracao,
						'medicamento' => $medicamento,
						'descricao' => $descricao,
						'validade' => $validade,
						'lote' => $lote,
						'quantidade' => $quantidade,
						'valor' => $valor
					);
					$where = 'id = ' . $id;
					$medicamentos->update($data, $where);
					$this->_redirect('/medicamento');
					return;
				} else {
					$this->view->medicamentos = $medicamentos->fetchRow('id='.$id);
				}
			}
		} else {
			$id = (int)$this->_request->getParam('id', 0);
			if ($id > 0) {
				$this->view->medicamentos = $medicamentos->fetchRow('id='.$id);
			}
		}
		$this->view->action = 'editar';
		$this->view->buttonText = 'Atualizar';
		$this->render();
	}
	
	public function excluirAction(){
		$this->view->title = "Excluir Medicamento";
		$medicamentos = new Medicamento();
		if ($this->_request->isPost()) {
			Zend_Loader::loadClass('Zend_Filter_Alpha');
			$filter = new Zend_Filter_Alpha();
			$id = (int)$this->_request->getPost('id');
			$del = $filter->filter($this->_request->getPost('del'));
			if ($del == 'Sim' && $id > 0) {
				$where = 'id = ' . $id;
				$rows_affected = $medicamentos->delete($where);
			}
		} else {
			$id = (int)$this->_request->getParam('id');
			if ($id > 0) {
				$this->view->medicamentos = $medicamentos->fetchRow('id='.$id);
				if ($this->view->medicamentos->id > 0) {
					$this->render();
					return;
				}
			}
		}
		$this->_redirect('/medicamento');
	}
	/*public function buscarAction(){
		$medicamento = new Medicamento();
		if ($this->_getParam('descricao')){
			$this->view->medicamentos = $medicamento->realizaBusca($arr);
		}else{
			$this->view->medicamentos = $medicamento->fetchAll($medicamento->select()->order("descricao"));
		}		
	}*/
	public function buscarAction(){
		$this->view->title = "Busca de Medicamentos";
		$obj = new Medicamento();
		if ($this->_request->isPost()) {
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$filter = new Zend_Filter_StripTags();
			$search = $filter->filter($this->_request->getPost('search'));
			$data = array('search' => $search);
			$order = 'descricao';
			$this->view->medicamentos = $obj->fetchAll('upper(descricao) like upper(\'%'.$search.'%\')', $order);
		}
	}
	function preDispatch(){
		$auth = Zend_Auth::getInstance();
		if (!$auth->hasIdentity()) {
			$this->_redirect('auth/login');
		}
	}
	
}
?>